An Integrated Logic for Termination and Non-Termination Reasoning

نویسندگان

  • Ton-Chanh Le
  • Cristian Gherghina
  • Aquinas Hobor
چکیده

We propose a logical framework for specifying and proving assertions about program termination and non-termination. Although program termination has been well studied, it is usually added as an external component to a specification logic. Here we propose to integrate termination requirements directly into our specification logic, as temporal constraints for each execution phase of every method. Our temporal constraints can specify a strict decrease in some bounded measure for termination proofs or the unreachability of method exit for nontermination proofs. The reasoning on these temporal constraints is supported by a novel temporal entailment procedure. Furthermore, our termination-enhanced logic can leverage on richer specification logics to help conduct more intricate termination reasoning for programs with heap manipulation or multiple terminating phases. Through a seamless integration into the specification logics, we expect our termination reasoning to benefit from any future improvements to our logics, and vice-versa. With an experimental evaluation, we report on the usability and practicality of our approach for capturing both termination and non-termination reasoning for an existing verification system.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Specification Logic for Termination Reasoning

We propose a logical framework for specifying and proving assertions about program termination. Although termination of programs has been well studied, it is usually added as an external component to the specification logic. Here we propose to integrate termination requirements directly into our specification logic, as temporal constraints for each phase of every method. Our temporal constraint...

متن کامل

Preliminary Notes on Termination and Non-Termination Reasoning

In this preliminary note, we will illustrate our ideas on automated mechanisms for termination and non-termination reasoning. 1 Termination and Non-Termination Reasoning with

متن کامل

Localizing and Explaining Reasons for Non-terminating Logic Programs with Failure-Slices

We present a slicing approach for analyzing logic programs with respect to non-termination. The notion of a failure-slice is presented which is an executable reduced fragment of the program. Each failureslice represents a necessary termination condition for the program. If a failure-slice does not terminate it can be used as an explanation for the non-termination of the whole program. To effect...

متن کامل

A Methodology for Proving

Termination of logic programs with negated body atoms, here called general logic programs, is an important topic. This is also due to the fact that the computational mechanisms used to process negated atoms, like Clark's negation as failure and Chan's constructive negation, are based on termination conditions. This paper introduces a methodology for proving termination of general logic programs...

متن کامل

Practical Methods for Proving Termination of General Logic Programs

Termination of logic programs with negated body atoms (here called general logic programs) is an important topic. One reason is that many computational mechanisms used to process negated atoms, like Clark's negation as failure and Chan's constructive negation, are based on termination conditions. This paper introduces a methodology for proving termination of general logic programs w.r.t. the Pr...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012